home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / Novinky / adobe / Instal / archive.z / PDF Format.aip / PSPROCSET / 5 < prev    next >
Text File  |  1998-09-17  |  13KB  |  723 lines

  1. %%BeginFile: pdf.prc
  2. %%Copyright: Copyright 1987-1998 Adobe Systems Incorporated. All Rights Reserved.
  3. /initialize {
  4. _ColorSep5044? {sep_ops begin 50 dict begin} if
  5. newpath
  6. } bd
  7. /terminate {
  8. _ColorSep5044? {end end} if
  9. } bd
  10. Level2? StartLoad
  11. { /m/moveto ld
  12. /l/lineto ld
  13. /c/curveto ld
  14. /setSA/setstrokeadjust ld
  15. } EndLoad
  16. Level2? not StartLoad
  17. {
  18. /pl {
  19. transform
  20. 0.25 sub round 0.25 add exch
  21. 0.25 sub round 0.25 add exch
  22. itransform
  23. } bd
  24. /m { _sa? { pl } if moveto } bd
  25. /l { _sa? { pl } if lineto } bd
  26. /c { _sa? { pl } if curveto } bd
  27. /setSA { /_sa? xdd } bd
  28. } EndLoad
  29. /v { currentpoint 6 2 roll c } bd
  30. /y { 2 copy c } bd
  31. /h/closepath ld
  32. /d/setdash ld
  33. /j/setlinejoin ld
  34. /J/setlinecap ld
  35. /M/setmiterlimit ld
  36. /w/setlinewidth ld
  37. /cf currentflat def
  38. /i {
  39. dup 0 eq { pop cf } if
  40. setflat
  41. } bd
  42. /gsDI
  43. {
  44. begin
  45. /Font here { aload pop Tf } if
  46. /LW here { w } if
  47. /LC here { J } if
  48. /LC here { j } if
  49. /ML here { M } if
  50. /D here { aload pop d } if
  51. end
  52. } bd
  53. /ilp { /_lp /none dd } bd
  54. /sfc {
  55. _lp /fill ne {
  56. _sfcs
  57. _sfc
  58. /_lp /fill dd
  59. } if
  60. } dd
  61. /ssc {
  62. _lp /stroke ne {
  63. _sscs
  64. _ssc
  65. /_lp /stroke dd
  66. } if
  67. } dd
  68. /n {
  69. _doClip 1 ge {
  70. _doClip 1 eq { clip } { eoclip } ifelse
  71. /_doClip 0 dd
  72. } if
  73. newpath
  74. } bd
  75. /fs.aux {
  76. _doClip 1 ge
  77. { gsave exec grestore
  78. _doClip 1 eq { clip } { eoclip } ifelse
  79. newpath
  80. ilp
  81. /_doClip 0 dd
  82. }
  83. { exec }
  84. ifelse
  85. } bd
  86. /f {
  87. { sfc fill } fs.aux
  88. } bd
  89. /f* {
  90. { sfc eofill } fs.aux
  91. } bd
  92. /S {
  93. { ssc stroke } fs.aux
  94. } bd
  95. /s { h S } bd
  96. /B {
  97. _doClip dup 1 ge
  98. gsave f grestore
  99. {
  100. gsave S grestore
  101. 1 eq { clip } { eoclip } ifelse
  102. newpath
  103. ilp
  104. /_doClip 0 dd
  105. }
  106. { pop S }
  107. ifelse
  108. } bd
  109. /b { h B } bd
  110. /B* {
  111. _doClip dup 1 ge
  112. gsave f* grestore
  113. {
  114. gsave S grestore
  115. 1 eq { clip } { eoclip } ifelse
  116. newpath
  117. ilp
  118. /_doClip 0 dd
  119. }
  120. { pop S }
  121. ifelse
  122. } bd
  123. /b* { h B* } bd
  124. /sh {
  125. dup /DataSource known
  126. { dup begin
  127. DataSource type /filetype eq { DataSource resetfile } if
  128. end
  129. } if
  130. shfill
  131. } bd
  132. /W { /_doClip 1 dd } bd
  133. /W* { /_doClip 2 dd } bd
  134. /q/save ld
  135. /Q { restore ilp } bd
  136. Level2? StartLoad
  137. { /defineRes/defineresource ld
  138. /findRes/findresource ld
  139. currentglobal
  140. true systemdict /setglobal get exec
  141. [/Function /ExtGState /Form /Shading]
  142. { /Generic /Category findresource dup length dict copy /Category defineresource pop }
  143. forall
  144. systemdict /setglobal get exec
  145. } EndLoad
  146. Level2? not StartLoad
  147. { /AlmostFull?
  148. { dup maxlength exch length sub 2 le
  149. } bind def
  150. /Expand
  151. { 1 index maxlength mul cvi dict
  152. dup begin exch { def } forall end
  153. } bind def
  154. /xput
  155. { 3 2 roll
  156. dup 3 index known not
  157. { dup AlmostFull? { 1.5 Expand } if
  158. } if
  159. dup 4 2 roll put
  160. } bind def
  161. /defineRes
  162. { _categories 1 index known not
  163. { /_categories _categories 2 index 10 dict xput store
  164. } if
  165. _categories exch 2 copy get 5 -1 roll 4 index xput put
  166. } bind def
  167. /findRes
  168. { _categories exch get exch get
  169. } bind def
  170. } EndLoad
  171. /cs
  172. {
  173. dup where { pop load } if
  174. dup /_fcs xdd
  175. GetComps
  176. _fillColors exch get
  177. /_fc xdd
  178. /_fp null dd
  179. } bd
  180. /CS
  181. {
  182. dup where { pop load } if
  183. dup /_scs xdd GetComps _strokeColors exch get /_sc xdd /_sp null dd
  184. } bd
  185. /GetCompsDict
  186. 16 dict begin
  187. /DeviceGray { pop 1 } bd
  188. /DefaultGray { pop 1 } bd
  189. /DeviceRGB { pop 3 } bd
  190. /DefaultRGB { pop 3 } bd
  191. /DeviceCMYK { pop 4 } bd
  192. /DefaultCMYK { pop 4 } bd
  193. /CalGray { pop 1 } bd
  194. /CalRGB { pop 3 } def
  195. /CIEBasedA { pop 1 } bd
  196. /CIEBasedABC { pop 3 } bd
  197. /Lab { pop 3 } bd
  198. /DeviceN { 1 get length } bd
  199. /Separation { pop 1 } bd
  200. /Indexed { pop 1 } bd
  201. /Pattern { pop 0 } bd
  202. currentdict
  203. end
  204. dd
  205. /GetComps {
  206. GetCompsDict
  207. 1 index dup type /arraytype eq { 0 get } if
  208. get exec
  209. } bd
  210. Level2? not StartLoad {
  211. /ri/pop ld
  212. /makePat/pop ld
  213. } EndLoad
  214. Level2? StartLoad {
  215. /ri
  216. {
  217. /findcolorrendering isdefined?
  218. {
  219. mark exch
  220. findcolorrendering
  221. counttomark 2 eq
  222. { type /booleantype eq
  223. { dup type /nametype eq
  224. { dup /ColorRendering resourcestatus
  225. { pop pop
  226. dup /DefaultColorRendering ne
  227. {
  228. /ColorRendering findresource
  229. setcolorrendering
  230. } if
  231. } if
  232. } if
  233. } if
  234. } if
  235. cleartomark
  236. }
  237. { pop
  238. } ifelse
  239. } bd
  240. /makePat /makepattern ld
  241. } EndLoad
  242. Level2? not _ColorSep5044? or StartLoad
  243. {
  244. /L1setcolor {
  245. aload length
  246. dup 0 eq
  247. { pop .5 setgray }
  248. { dup 1 eq
  249. { pop setgray }
  250. { 3 eq
  251. { setrgbcolor }
  252. { setcmykcolor }
  253. ifelse }
  254. ifelse }
  255. ifelse
  256. } bind dd
  257. /_sfcs { } dd
  258. /_sscs { } dd
  259. } EndLoad
  260. Level2? not _ColorSep5044? not and StartLoad
  261. {
  262. /_sfc { _fc L1setcolor } dd
  263. /_ssc { _sc L1setcolor } dd
  264. } EndLoad
  265. Level2? _ColorSep5044? not and StartLoad
  266. {
  267. /_sfcs
  268. {
  269. _fcs setcolorspace
  270. } bind dd
  271. /_sscs
  272. {
  273. _scs setcolorspace
  274. } bind dd
  275. /_sfc
  276. {
  277. _fc aload pop
  278. _fp null eq
  279. { setcolor }
  280. { _fp setpattern }
  281. ifelse
  282. } bind dd
  283. /_ssc
  284. {
  285. _sc aload pop
  286. _sp null eq { setcolor } { _sp setpattern } ifelse
  287. } bind dd
  288. } EndLoad
  289. /sc
  290. {
  291. _fc astore pop
  292. ilp
  293. } bd
  294. /SC
  295. {
  296. _sc astore pop
  297. ilp
  298. } bd
  299. /scn {
  300. dup type /dicttype eq
  301. { dup /_fp xdd
  302. dup /PatternType get 1 eq
  303. { /PaintType get 1 eq
  304. { /_fc _fillColors 0 get dd ilp }
  305. { /_fc _fillColors
  306. _fcs 1 get
  307. GetComps get dd
  308. sc
  309. }
  310. ifelse
  311. }
  312. { pop /_fc _fillColors 0 get dd ilp }
  313. ifelse
  314. }
  315. { sc }
  316. ifelse
  317. } bd
  318. /SCN {
  319. dup type /dicttype eq
  320. { dup /_sp xdd
  321. dup /PatternType get 1 eq
  322. { /PaintType get 1 eq
  323. { /_sc _strokeColors 0 get dd ilp }
  324. { /_sc _strokeColors _scs 1 get GetComps get dd
  325. SC
  326. }
  327. ifelse
  328. }
  329. { pop /_sc _strokeColors 0 get dd ilp }
  330. ifelse
  331. }
  332. { SC }
  333. ifelse
  334. } bd
  335. /g { /DefaultGray cs sc } bd
  336. /rg { /DefaultRGB cs sc } bd
  337. /k { /DefaultCMYK cs sc } bd
  338. /G { /DefaultGray CS SC } bd
  339. /RG { /DefaultRGB CS SC } bd
  340. /K { /DefaultCMYK CS SC } bd
  341. /cm { _mtx astore concat } bd
  342. /re {
  343. 4 2 roll m
  344. 1 index 0 rlineto
  345. 0 exch rlineto
  346. neg 0 rlineto
  347. h
  348. } bd
  349. /rf /rectfill where {pop {sfc rectfill}} {{re f}} ifelse bd
  350. /RC/rectclip ld
  351. /EF/execform ld
  352. /PS { cvx exec } bd
  353. /initgs {
  354. /DefaultGray where
  355. { pop }
  356. { /DefaultGray /DeviceGray dd }
  357. ifelse
  358. /DefaultRGB where
  359. { pop }
  360. { /DefaultRGB /DeviceRGB dd }
  361. ifelse
  362. /DefaultCMYK where
  363. { pop }
  364. { /DefaultCMYK /DeviceCMYK dd }
  365. ifelse
  366. 0 g 0 G
  367. [] 0 d 0 j 0 J 10 M 1 w
  368. true setSA
  369. } bd
  370. 21 dict dup begin
  371. /CosineDot
  372. { 180 mul cos exch 180 mul cos add 2 div } bd
  373. /Cross
  374. { abs exch abs 2 copy gt { exch } if pop neg } bd
  375. /Diamond
  376. { abs exch abs 2 copy add .75 le
  377. { dup mul exch dup mul add 1 exch sub }
  378. { 2 copy add 1.23 le
  379. { .85 mul add 1 exch sub }
  380. { 1 sub dup mul exch 1 sub dup mul add 1 sub }
  381. ifelse }
  382. ifelse } bd
  383. /Double
  384. { exch 2 div exch 2 { 360 mul sin 2 div exch } repeat add } bd
  385. /DoubleDot
  386. { 2 { 360 mul sin 2 div exch } repeat add } bd
  387. /Ellipse
  388. { abs exch abs 2 copy 3 mul exch 4 mul add 3 sub dup 0 lt
  389. { pop dup mul exch .75 div dup mul add 4 div
  390. 1 exch sub }
  391. { dup 1 gt
  392. {pop 1 exch sub dup mul exch 1 exch sub
  393. .75 div dup mul add 4 div 1 sub }
  394. { .5 exch sub exch pop exch pop }
  395. ifelse }
  396. ifelse } bd
  397. /EllipseA
  398. { dup mul .9 mul exch dup mul add 1 exch sub } bd
  399. /EllipseB
  400. { dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub } bd
  401. /EllipseC
  402. { dup .5 gt { 1 exch sub } if
  403. dup .25 ge
  404. { .5 exch sub 4 mul dup mul 1 sub }
  405. { 4 mul dup mul 1 exch sub }
  406. ifelse
  407. exch
  408. dup .5 gt { 1 exch sub } if
  409. dup .25 ge
  410. { .5 exch sub 4 mul dup mul 1 sub }
  411. { 4 mul dup mul 1 exch sub }
  412. ifelse
  413. add -2 div } bd
  414. /InvertedDouble
  415. { exch 2 div exch 2 { 360 mul sin 2 div exch } repeat add neg } bd
  416. /InvertedDoubleDot
  417. { 2 { 360 mul sin 2 div exch } repeat add neg } bd
  418. /InvertedEllipseA
  419. { dup mul .9 mul exch dup mul add 1 sub } bd
  420. /InvertedSimpleDot
  421. { dup mul exch dup mul add 1 sub } bd
  422. /Line
  423. { exch pop abs neg } bd
  424. /LineX
  425. { pop } bd
  426. /LineY
  427. { exch pop } bd
  428. /Rhomboid
  429. { abs exch abs 0.9 mul add 2 div } bd
  430. /Round
  431. { abs exch abs 2 copy add 1 le
  432. { dup mul exch dup mul add 1 exch sub }
  433. { 1 sub dup mul exch 1 sub dup mul add 1 sub }
  434. ifelse } bd
  435. /SimpleDot
  436. { dup mul exch dup mul add 1 exch sub } bd
  437. /Square
  438. { abs exch abs 2 copy lt { exch } if pop neg } bd
  439. end
  440. { /Function defineRes pop } forall
  441. /Identity {} /Function defineRes pop
  442. _ColorSep5044? StartLoad {
  443. /_defaulttransferfunc currenttransfer def
  444. /currentcolortransfer where
  445. { pop /_defaultcolortransferfuncs [ currentcolortransfer ] def }
  446. if
  447. /concattransferfuncs {
  448. [ 3 1 roll /exec load exch /exec load ] cvx
  449. } bd
  450. /concatandsettransfer {
  451. /_defaulttransferfunc load concattransferfuncs settransfer
  452. } bd
  453. /concatandsetcolortransfer {
  454. colorplate 0 eq
  455. {
  456. _defaultcolortransferfuncs aload pop
  457. 8 -1 roll 5 -1 roll concattransferfuncs 7 1 roll
  458. 6 -1 roll 4 -1 roll concattransferfuncs 5 1 roll
  459. 4 -1 roll 3 -1 roll concattransferfuncs 3 1 roll
  460. concattransferfuncs
  461. setcolortransfer
  462. } if
  463. colorplate 1 ge colorplate 4 le and
  464. {
  465. 4 colorplate sub index 4 { exch pop } repeat
  466. concatandsettransfer
  467. } if
  468. colorplate 5 ge
  469. {
  470. 0 index 4 { exch pop } repeat
  471. concatandsettransfer
  472. } if
  473. } bd
  474. /tn5044sethalftone
  475. {
  476. begin
  477. HalftoneType 5 eq
  478. { [/Default /Cyan /Magenta /Yellow /Black /Default /Default /Default]
  479. colorplate get
  480. here not {
  481. /Default here not { currentdict } if
  482. } if
  483. }
  484. { currentdict }
  485. ifelse
  486. end
  487. begin
  488. /TransferFunction here
  489. {
  490. concatandsettransfer
  491. currentdict dup length dict
  492. begin
  493. {
  494. 1 index /TransferFunction ne { def } { pop pop } ifelse
  495. } forall
  496. currentdict
  497. end
  498. }
  499. {
  500. currentdict
  501. } ifelse
  502. end
  503. sethalftone
  504. } bd
  505. } EndLoad
  506. Level2? Level3? not and StartLoad {
  507. /setsmoothness { pop } bd
  508. } EndLoad
  509. Level2? StartLoad {
  510. /gs
  511. {
  512. begin
  513. /SA here { setstrokeadjust } if
  514. /OP here { setoverprint } if
  515. /BG here { setblackgeneration } if
  516. /UCR here { setundercolorremoval } if
  517. /SM here { setsmoothness } if
  518. /FL here { i } if
  519. /RI here { ri } if
  520. /TR here
  521. {
  522. _ColorSep5044?
  523. {
  524. dup xcheck
  525. { concatandsettransfer }
  526. { aload pop concatandsetcolortransfer }
  527. ifelse
  528. }
  529. {
  530. dup xcheck
  531. { settransfer }
  532. { aload pop setcolortransfer }
  533. ifelse
  534. } ifelse
  535. } if
  536. /sethalftonephase isdefined? { /HTP here { sethalftonephase } if } if
  537. /HT here
  538. { _ColorSep5044?
  539. { tn5044sethalftone }
  540. { sethalftone }
  541. ifelse
  542. } if
  543. currentdict gsDI
  544. end
  545. } bd
  546. /_defaulthalftone currenthalftone def
  547. /_defaultblackgeneration currentblackgeneration def
  548. /_defaultundercolorremoval currentundercolorremoval def
  549. /_defaultcolortransfer [currentcolortransfer] def
  550. /_defaulttransfer currenttransfer def
  551. } EndLoad
  552. Level2? not StartLoad {
  553. /gs
  554. {
  555. begin
  556. /SA here { /_sa? xdd } if
  557. /OP here { dup /_op? xdd
  558. /setoverprint where {pop setoverprint}
  559. {pop} ifelse
  560. } if
  561. /TR here
  562. {
  563. _ColorSep5044?
  564. { dup xcheck
  565. { concatandsettransfer }
  566. { aload pop concatandsetcolortransfer }
  567. ifelse
  568. }
  569. { dup xcheck
  570. { settransfer }
  571. { aload pop setcolortransfer }
  572. ifelse
  573. } ifelse
  574. } if
  575. /HT here
  576. { _ColorSep5044?
  577. { tn5044sethalftone }
  578. { sethalftone }
  579. ifelse
  580. } if
  581. /FL here { i } if
  582. currentdict gsDI
  583. end
  584. } bd
  585. 5 dict dup
  586. begin
  587. currentscreen 1 [/HalftoneType /SpotFunction /Angle /Frequency ]
  588. { exch def } forall
  589. end
  590. /_defaulthalftone exch def
  591. } EndLoad
  592. /int {
  593. dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul
  594. exch pop add exch pop
  595. } bd
  596. /limit {
  597. dup 2 index le { exch } if pop
  598. dup 2 index ge { exch } if pop
  599. } bd
  600. /domainClip {
  601. Domain aload pop 3 2 roll
  602. limit
  603. } bd
  604. /applyInterpFunc {
  605. 0 1 DimOut 1 sub
  606. {
  607. dup C0 exch get exch
  608. dup C1 exch get exch
  609. 3 1 roll
  610. 1 index sub
  611. 3 index
  612. N exp mul add
  613. exch
  614. currentdict /Range_lo known
  615. {
  616. dup Range_lo exch get exch
  617. Range_hi exch get
  618. 3 2 roll limit
  619. }
  620. {
  621. pop
  622. }
  623. ifelse
  624. exch
  625. } for
  626. pop
  627. } bd
  628. /encodeInput {
  629. NumParts 1 sub
  630. 0 1 2 index
  631. {
  632. dup Bounds exch get
  633. 2 index gt
  634. { exit }
  635. { dup
  636. 3 index eq
  637. { exit }
  638. { pop } ifelse
  639. } ifelse
  640. } for
  641. 3 2 roll pop
  642. dup Bounds exch get exch
  643. dup 1 add Bounds exch get exch
  644. 2 mul
  645. dup Encode exch get exch
  646. 1 add Encode exch get
  647. int
  648. } bd
  649. /rangeClip {
  650. exch dup Range_lo exch get
  651. exch Range_hi exch get
  652. 3 2 roll
  653. limit
  654. } bd
  655. /applyStitchFunc {
  656. Functions exch get exec
  657. currentdict /Range_lo known {
  658. 0 1 DimOut 1 sub {
  659. DimOut 1 add -1 roll
  660. rangeClip
  661. } for
  662. } if
  663. } bind def
  664. _ColorSep5044? StartLoad {
  665. /_sfc
  666. {
  667. _fp null eq
  668. { _fcs type /arraytype eq
  669. {_fcs 0 get /Separation eq
  670. {
  671. _fcs 1 get /All eq
  672. {
  673. _fc aload pop 1 exch sub
  674. /setseparationgray where pop begin setseparationgray end
  675. }
  676. {
  677. 1 _fcs 3 get exec _fcs 1 get
  678. /findcmykcustomcolor where pop begin findcmykcustomcolor end
  679. _fc aload pop
  680. /setcustomcolor where pop begin setcustomcolor end
  681. }
  682. ifelse
  683. }
  684. { _fc L1setcolor }
  685. ifelse
  686. }
  687. { _fc L1setcolor }
  688. ifelse
  689. }
  690. { _fc L1setcolor }
  691. ifelse
  692. } bind dd
  693. /_ssc
  694. {
  695. _sp null eq
  696. { _scs type /arraytype eq
  697. {_scs 0 get /Separation eq
  698. {
  699. _scs 1 get /All eq
  700. {
  701. _sc aload pop 1 exch sub
  702. /setseparationgray where pop begin setseparationgray end
  703. }
  704. {
  705. 1 _scs 3 get exec _scs 1 get
  706. /findcmykcustomcolor where pop begin findcmykcustomcolor end
  707. _sc aload pop
  708. /setcustomcolor where pop begin setcustomcolor end
  709. }
  710. ifelse
  711. }
  712. { _sc L1setcolor }
  713. ifelse
  714. }
  715. { _sc L1setcolor }
  716. ifelse
  717. }
  718. { _sc L1setcolor }
  719. ifelse
  720. } bind dd
  721. } EndLoad
  722. %%EndFile
  723.